草庐IT

c++ - 池化线程的 SetThreadAffinityMask

全部标签

c - 如何使用 VBO 绘制三角形?

我正在尝试让我的VBO进行绘制,但我什么也看不到。我正在尝试绘制一个三角形(在我看来,一个三角形是朝着正确方向的良好开端)。一切都可以编译和运行而不会中断。voidinitGraphics(intwidth,intheight){glViewport(0,0,width,height);glEnable(GL_TEXTURE_2D);glEnable(GL_BLEND);glDisable(GL_DEPTH_TEST);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);glClearColor(1.0,1.0,1.0,1.0);glMat

c - 在 c 中获取进程 Cpu 使用情况

如何在c中获取进程Cpu使用情况?我需要每个进程和线程的Cpu使用率。请举个例子谢谢! 最佳答案 在纯C中,这是不可能的,但由于问题也被标记为“Windows”:CPU使用率是CPU时间除以实际时间。GetThreadTimes和GetProcessTimes函数为您提供该信息(以及其他功能,例如上面提到的JoachimPileborg的性能计数器,但我认为这个可能更容易)。您可能还想使用CreateToolhelp32Snapshot首先要知道存在哪些进程和线程。您需要将线程/进程ID转换为句柄,但我想这不会是一个大障碍(即Ope

c - 传递 C 字符数组并分配导致程序崩溃

我不知道错误是什么,因为这是在Windows上发生的,我不知道如何在Windows上逐步执行程序。关于为什么程序在这里崩溃的任何想法(见评论行)?我认为这可能与内存滥用有关。#defineTABLE_MAX_ROW500#defineTABLE_MAX_COL20#defineTABLE_MAX_ELT_LEN60从这里开始:foo(){chartable[TABLE_MAX_ROW][TABLE_MAX_COL][TABLE_MAX_ELT_LEN];bar(table);}传递给这个函数:bar(chartable[TABLE_MAX_ROW][TABLE_MAX_COL][TAB

c++ - 在 Windows 平台上为 c/c++ 代码生成调用图的工具?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Toolstogetapictorialfunctioncallgraphofcode我有一些c/c++代码。我想知道任何可用于在Windows平台上生成调用图、提供有关调用者等信息的工具。

c - 在 c 中运行代码时 Windows 中的奇怪错误

我写了一些代码来解决英国信息学奥林匹克问题1(2012)在c中。如果它对任何人有任何帮助,或者可能感兴趣,程序会找到一个数的唯一质因数的乘积。如果数字是素数,则返回原始数字。它应该可以处理1000000的输入,并且在linux和mac上编译时也是如此。由于某些原因,当它在windows上编译时(使用mingw编译器)它不适用于520558以上的输入!这可能与声明一个长度为520558个整数的数组有关,但我不知道如何补救。任何帮助将不胜感激谢谢。代码:#include#includeintmain(intargc,char*argv[]){printf("Pleaseenteryouri

c++ - 如何使用 C/C++ 在 exe 中完全内部存储用户设置?

这更多的是关于如何以及是否真正解决问题的问题。HowcanyoustoreusersettingscompletelyinternallyinanexewithC/C++?这甚至可能吗?如果可以,如何实现?我主要只是好奇,因为我真的想不出办法,对我来说,有些应用程序似乎可以做到这一点。注意:我已经知道生成子进程、使用文件、云或注册表等方法,我只是想知道您是否真的可以在内部保存设置。 最佳答案 你可以用迂回的方式。但是您将不得不担心修改可执行文件的影响,这可能会阻止它再次执行。例如,如果你制作一个简单的程序intmain(){std:

c - Windows Driver 时间戳函数

我正在修改现有的Windows内核设备驱动程序,我需要在其中捕获时间戳。我打算使用time.h库并调用clock()函数来获取它,但是在windowsvisualstudio下,链接失败了。所以我把它当作我需要在驱动程序库中工作的一种方式。我找到了以下函数,KeInitializeTimer和KeSetTimerEx,但如果我计划设置定时器并在其上唤醒,则会使用这些函数。我真正需要的是能给我一个时间戳的东西。有什么想法吗? 最佳答案 我正在用答案更新我的问题,以便其他人从我的发现中受益。要获得时间戳,您可以使用KeQueryTick

c - Windows错误参数类型c编程

我有这段代码,但我没有使用Windows的经验:#include#includetypedefBOOL(WINAPI*P_GDFSE)(LPCTSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);voidmain(intargc,char**argv){BOOLfResult;char*pszDrive=NULL,szDrive[4];DWORDdwSectPerClust,dwBytesPerSect,dwFreeClusters,dwTotalClusters;P_GDFSEpGetDiskFreeSpaceEx=NULL;un

c++ - Windows.h 线程关联

除了输出不是我期望的那样,下面的代码确实可以编译和运行。我希望程序创建n个线程(取决于可用多核的数量)并运行程序末尾的一个简单例程以输出“测试:”后跟数字1-10。相反,我得到的是一个输出,它确实写了一些数字,但它最多不会超过两个,而且函数threadmain似乎没有完全在一个线程上运行,但它在其他方面输出了一些测试:012。我知道多线程会破坏输出,但我应该在屏幕上的某处看到数字3、4、5、6、7、8、9,但它没有显示。#defineWIN32_LEAN_AND_MEAN#include#include#include#includeHANDLE*m_threads=NULL;stat

java - 在一个 CPU 上运行 Java 线程

我们在JAVA中有一个多线程应用程序,它有多个并行运行的线程。现在我们想在一个核心上运行所有这些线程。当前,应用程序正在具有多个内核的系统上运行。我们知道.NetFramework中有一种技术可用ProcesAffinity来设置进程亲和性。但我们不想依赖.NetFramework,因为我们的应用程序是用java构建的。我们是否使用Bat文件设置Processaffinity并通过Bat文件运行我们的应用程序可执行jar文件?目前我们的应用程序在WindowsXP上运行。因此,我们需要一个能够在XP平台上正常运行的解决方案。 最佳答案